import { Entity } from "../../../../../Core/Module/Entity/Entity";
import { IAwake } from "../../../../../Core/Module/EventSystem/IAwakeSystem";
import { IDestroy } from "../../../../../Core/Module/EventSystem/IDestroySystem";
import { ILoad } from "../../../../../Core/Module/EventSystem/ILoadSystem";
import { Dictionary } from "../../../../../Support/Share/Lib/Dictionary";
import { PanelId } from "../../Demo/FUIAutoGen/PanelId";
import { IFUIEventHandler } from "./IFUIEventHandler";

export class PanelInfo {
    public PanelId: PanelId;

    public PackageName: string;

    public ComponentName: string;
}

export class FUIEventComponent extends Entity implements ILoad, IAwake, IDestroy {

    public static Instance: FUIEventComponent;
    public readonly UIEventHandlers = new Dictionary<PanelId, IFUIEventHandler>();
    public readonly PanelIdInfoDict = new Dictionary<PanelId, PanelInfo>();
    public readonly PanelTypeInfoDict = new Dictionary<string, PanelInfo>();

    public isClicked: boolean;

}